Efficient use of space while packing objects into a defined space is valuable in a variety of applications. When objects are not efficiently and/or properly positioned relative to each other and within the space fewer items may fit. In some cases, the inefficient use of space may be costly. For example, printer beds used in 3-D printing processes may have a pre-determined volume into which objects to be printed fit. Inefficient use of space within the print bed may result in multiple additional printing runs as well as delays in the printing of objects.
Generally, square or rectangular objects are relatively easy to pack into square or rectangular defined spaces. Efficiently packing irregularly shaped objects however is more challenging. Conventionally, human operators have been tasked with trying to best fit objects into defined spaces. In the case of irregularly shaped objects the operator may be able to achieve a certain level of packing efficiency, but this may be limited by the operator's memory, creativity and ambition to improve layouts of objects within the defined spaces. Typically, the operator will memorize a few favorite patterns and reuse those patterns over and over again. The operator's knowledge is generally not shared across platforms or printing consoles, resulting in a loss of global knowledge. The challenge of efficiently packing irregularly shaped items becomes even more difficult when the irregularly shaped items are randomly provided and have varying sizes as well as shapes.